<?php
/**
 * 유틸리티 - 암호화 복호화
 *
 * 암호화 / 복호화 메소드를 정적 메소드로 제공해 줍니다.
 * 암호화 형태는 3개의 형태가 있으며 사내의 기준으로 암호화 처리합니다.
 *
 * <code>
 * <?php
 * $sString = 'ulariul';
 * //암호화
 * $sEncryptString = utilDes::encrypt($sString, 'test');
 *
 * //복호화
 * $sDecryptString = utilDes::decrypt($sEncryptString, 'test'); *
 * ?>
 * </code>
 *
 *  @package    util
 *
 *  @author     ulariul jung
 *  @version    1.0
 */

class utilDes
{
    /**
     * 3DES를 이용한 암호화
     *
     * 사내 암호화룰에 의해서 암호화 됩니다.
     * <code>
     * <?php
     * utilDes::encrypt('암호화할 문자열', 'test');
     * ?>
     * </code>
     *
     * @param    String    $sString        암호화할 문자열
     * @param    String    $sMasterKey     마스터키
     * @param    String    $sIv            IV
     *
     * @return    String
     */
    public static function encrypt($sString, $sMasterKey='masterkey_hahaha', $sIv='simplex@internet')
    {
        return utilDesCbc::getInstance($sMasterKey, $sIv)->encrypt($sString);
    }


    /**
     * 복호화
     *
     * 사내 암호화 룰에 맞게 복호화하는 메소드
     * (복호화할 문자열이 비어있는 경우는 false 반환)
     *
     * <code>
     * <?
     * utilDes::decrypt('복호화할 문자열', 'test');
     * ?>
     * </code>
     *
     * @param   String    $sString    복호화할 문자열
     * @param   String    $sMasterKey    마스터키
     * @param   String    $sIv    IV
     *
     * @return    String | false
     */
    public static function decrypt($sString, $sMasterKey='masterkey_hahaha', $sIv='simplex@internet')
    {
        return utilDesCbc::getInstance($sMasterKey, $sIv)->decrypt($sString);
    }
}
